package qe.spider.trade;

import qe.spider.trade.vo.Funds;
import qe.spider.trade.vo.Order;
import qe.spider.trade.vo.Position;
import qe.spider.vo.Stock;

import java.util.List;

public interface StockTrade {
    /**
     * 查询资金
     */
    Funds queryFund();

    /**
     * 查询当日委托
     *
     * @return List<Order> 委托清单
     */
    List<Order> queryOrder();

    /**
     * 查询持仓
     *
     * @return List<Position> 持仓股票和金额
     */
    List<Position> queryPositions();


    /**
     * 买入
     *
     * @param stock 股票
     */
    Boolean buy(Stock stock);

    /**
     * 买入撤单
     *
     * @param stock 股票
     */
    void buyCancel(Stock stock);

    /**
     * 卖出
     *
     * @param stock 股票
     */
    Boolean sell(Stock stock);

    /**
     * 卖出撤单
     *
     * @param stock 股票
     */
    void sellCancel(Stock stock);
}
